xen/arm: correct flush_tlb_mask behaviour
authorJulien Grall <julien.grall@linaro.org>
Thu, 9 Jan 2014 16:58:03 +0000 (16:58 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Wed, 15 Jan 2014 13:16:39 +0000 (13:16 +0000)
commit8a9ab685bef64a50f58d99a4e8728b770289e9ef
tree0e3abe1dee63465c46cd2de15baa35543281bee2
parent9b2691bdb499a3c2a136596658571056df1d42c8
xen/arm: correct flush_tlb_mask behaviour

On ARM, flush_tlb_mask is used in the common code:
    - alloc_heap_pages: the flush is only be called if the new allocated
    page was used by a domain before. So we need to flush only TLB non-secure
non-hyp inner-shareable.
    - common/grant-table.c: every calls to flush_tlb_mask are used with
    the current domain. A flush TLB by current VMID inner-shareable is enough.

The current code only flush hypervisor TLB on the current PCPU. For now,
flush TLBs non-secure non-hyp on every PCPUs.

Signed-off-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/arm/smp.c
xen/include/asm-arm/arm32/flushtlb.h
xen/include/asm-arm/arm64/flushtlb.h